<?php
include ("functies.php");
connectdb();
$help="zoeken";
$zoeken=1;
include("kop.php");
$zoeken=0;
if ($_SESSION['naam'] != "") {
	// er is een inlognaam, we mogen dus aan het werk op deze pagina.
	print "<tr><td colspan = \"2\" id=\"center\">";
	//print_r($_REQUEST);
	if((!isset($_REQUEST['Submit'])) OR ($_REQUEST['Submit']=="Wis ingevuld filter")) {

		// Hier kom je alleen als er niet op de submit knop gedrukt is.

		$activiteit = "";
		$omschrijving = "";
		$indiener = "";
		$eigenaar = "";
		$betrokkenen = "";
		$gew_resultaat = "";
		$voortgang = "";
		$rel_voortgang="";
		$status = "";
		$actief="";

		$ingevuld = filter2array($_SESSION['naam']);

		if ($_REQUEST['Submit']!="Wis ingevuld filter") {

		$activiteit = $ingevuld['activiteit'];
		$omschrijving = $ingevuld['omschrijving'];
		$indiener = $ingevuld['indiener'];
		$eigenaar = $ingevuld['eigenaar'];
		$betrokkenen = $ingevuld['betrokkenen'];
		$gew_resultaat = $ingevuld['gew_resultaat'];
		$voortgang = $ingevuld['voortgang'];
		$rel_voortgang=$ingevuld['rel_voortgang'];
		$status =$ingevuld['status'];
		$actief =$ingevuld['actief'];

		}

		?>

		<center>
    <h2> Filterdefinitie</h2>
    <p align="center"><font size="-1">
    	Hier kunt u een filter definieren dat gebruikt zal worden voor het tonen van overzichten, bijvoorbeeld
    	in het overzicht van alle activiteiten.<br />
    	Deze optie is vooral handig als de lijst met te tonen activiteiten onoverzichtelijk groot dreigt te worden.

  	</font></p>
		</center>
		<p align="center">
		<form name="zoekact" method="post" action="filter_activiteiten.php">
		<table width="538" bgcolor="#BFD832" class="sjabloonzoeker">
			<tr>
		  	<td width="183" class="prompt">Activiteit beknopt:</td>
		  	<td><input type="text" name="activiteit" value="<?php echo $activiteit; ?>"> </td>
		    <td width="80">
		    	<table width="80">
		  		<tr>
		      	<td><label><input type="radio" name="actsoort" value="AND">En</label></td>
		      </tr>
		      <tr>
		        <td><label><input type="radio" name="actsoort" value="OR">Of</label></td>
		      </tr>
		      </table>
		    </td>
		 	</tr>
      <tr>
        <td class="prompt">Activiteit omschrijving</td>
        <td><textarea name="omschrijving"><?php echo $omschrijving; ?></textarea></td>
        <td>
        	<table width="80">
          <tr>
          	<td><label><input type="radio" name="omschrsoort" value="AND">En</label></td>
          </tr>
          <tr>
          	<td><label><input type="radio" name="omschrsoort" value="OR">Of</label></td>
          </tr>
        	</table></td>
      </tr>
      <tr>
      		<td class="prompt">Indiener</td>
      	 	<td colspan="2"><input type="text" name="indiener" value="<?php echo $indiener; ?>"></td>
      </tr>
    	<tr>
      		<td class="prompt">Eigenaar</td>
      	 	<td colspan="2"><input type="text" name="eigenaar" value="<?php echo $eigenaar; ?>"></td>
    	</tr>
      <tr>
		    	<td class="prompt">Afdeling/Dienst</td>
		      <td colspan="2"><select name="afdeling">
		        <option value = "0">---x---</option>
		        <?php
		      	$sqlresgeb = "select * from afdelingen";
		      	$resultaat = mysql_query($sqlresgeb);
			  	$aantal = mysql_num_rows($resultaat);
			  	while ($record = mysql_fetch_object($resultaat)) {
		       		Echo "<option value =\"$record->Id\">$record->Dienst</option>";
		       	}
		      	?>
		      </select></td>
		  </tr>
		  <tr>
		      <td class="prompt">Resultaatgebied</td>
		      <td colspan="2"><select name="resultaatgebied">
		        <option value = "0">---x---</option>
		        <?php
		      	$sqlresgeb = "select * from resultaatgebied";
		      	$resultaat = mysql_query($sqlresgeb);
			  		$resultaat = mysql_query($sqlresgeb);
		      	$aantal = mysql_num_rows($resultaat);
			  		while ($record = mysql_fetch_object($resultaat)) {
		       		Echo "<option value =\"$record->Id\">$record->Resultaatgebied</option>";
			  		}
		      	?>
		      </select></td>
		  </tr>
		  <tr>
		       <td class="prompt">Programma</td>
		       <td colspan="2"> <select name="programma">
		        <option value = "0">---x---</option>
		        <?php
		      	$sqlprog = "select * from programma";
		      	$resultaat = mysql_query($sqlprog);
			  		$resultaat = mysql_query($sqlprog);
		      	$aantal = mysql_num_rows($resultaat);
			  		while ($record = mysql_fetch_object($resultaat)) {
		       		Echo "<option value =\"$record->Id\">$record->Programma</option>";
			  		}
		      	?>
		      </select> </td>
		  </tr>
		  <tr>
		      <td class="prompt">TBV Vestiging</td>
		      <td colspan="2">
		      	<table>
		      		<tr>
		          	<td>
		      <?php
		      // ophalen lijst met unieke vestigingsnamen uit activiteit en die in de vorm van checkboxen neerzetten.
		      $sqlvest = "select distinct(vestiging) from activiteit";
		      $resultaat = mysql_query($sqlvest);
		      $aantal = mysql_num_rows($resultaat);
			  	$teller = 0;
			  	// vanwege het maken van twee rijen wordt eerst een array gevuld:
			  	while ($record = mysql_fetch_array($resultaat)) {
						$vnamen[$teller]=$record[0];
						$teller++;
			  	}

			  	// en dan pas de presentatie van de array (in twee kolommen) gerealiseerd:
			  	echo "<table align=\"center\">";
			  	$vestigingen = vestigingenlijst();
			  	$aantal = count($vestigingen);
			  	$j=0;
			  	echo "<tr><td>";
			  	for ($i=0; $i<$aantal; $i++) {
			  		$j=$i+1;
			  		echo "<input type=\"checkbox\" name=\"$vestigingen[$i]\" value=\"$vestigingen[$i]\">$vestigingen[$i]";
			  	
			   	}
			  	echo "</td></tr></table>";
					?>
		          	</td>
		          	<td>
		          		<input type="hidden" name="vestfilter" value="en">
		            	<input type="hidden" name="vestfilter" value="of" Checked>
		          	</td>
		      		</tr>
		      	</table>
		    	</td>
		  </tr>
		  <tr>
		    <td class="prompt">Gereed in jaar</td>
		    <td colspan = "2">
		      <select name="jaar">
						<option value="0" selected>----</option>
				  <?php
				  $jaar = date("Y");
				  $j=0;
				  while($j < 10){
						echo "<option value = \"$jaar\">$jaar</option>";
					$jaar++;
					$j++;
				  }
				  ?>
				  </select>
				</td>
		  </tr>

      <tr>
        <td class="prompt">Betrokkenen</td>
        <td colspan="2"><input type="text" name="betrokkenen" value="<?php echo $betrokkenen; ?>"></td>
      </tr>
      <tr>
        <td class="prompt">Gewenst Resultaat</td>
        <td><input type="text" name="gew_resultaat" value="<?php echo $gew_resultaat; ?>"></td>
        <td><table width="80">
	            <tr>
	              <td><label><input type="radio" name="ressoort" value="AND">En</label></td>
	            </tr>
	            <tr>
	              <td><label><input type="radio" name="ressoort" value="OR">Of</label></td>
	            </tr>
	          </table>
         </td>
      </tr>
      <tr>
		     <td class="prompt">Voortgang</td>
		     <td colspan="2"><input type="text" name="voortgang" value="<?php echo $voortgang; ?>"></td>
		  </tr>
		  <tr>
		      <td class="prompt">Relatieve voortgang <br />(gelijk aan) </td>
		      <td><font size="2">
		      	<?php
		      		for ($i=10;$i>=0;$i--) {
		      			$w = 10*$i;
		      			echo "<input type=\"radio\" name=\"rel_voortgang\" value=\"$w\">$w%";
		      		}
		      	?>
		      </font>
		    </td>
		   </tr>
		   <tr>
		      <td class="prompt">Relatieve voortgang <br />(ongelijk aan) </td>
		      <td>
		      	<font size="2">
		      	<?php
		      		for ($i=10;$i>=0;$i--) {
		      			$w = 10*$i;
		      			echo "<input type=\"radio\" name=\"rel_voortgang_not\" value=\"$w\">$w%";
		      		}
		      	?>
		      </font>
				</td>
			</tr>
			<tr>
		      <td class="prompt">Relatieve voortgang<br />(groter dan) </td>
		     	<td>
		      <font size="2">
		      	<?php
		      		for ($i=10;$i>=0;$i--) {
		      			$w = 10*$i;
		      			echo "<input type=\"radio\" name=\"rel_voortgang_gt\" value=\"$w\">$w%";
		      		}
		      	?>
		      </font>
		    </td>
		  </tr>
		  <tr>
		      <td class="prompt">Relatieve voortgang <br />(kleiner dan) </td>
		        <td>
		      <font size="2">
		      	<?php
		      		for ($i=10;$i>=0;$i--) {
		      			$w = 10*$i;
		      			echo "<input type=\"radio\" name=\"rel_voortgang_lt\" value=\"$w\">$w%";
		      		}
		      	?>
		      </font>
		      </td>
		   </tr>
		   <tr>
		  	<td class="prompt">Status</td>
		    <td colspan="2"><input type="text" name="status" value="<?php echo $status; ?>"></td>
		  </tr>
		  <tr>
		    <td class="prompt">&nbsp;</td>
		    <td colspan="3">&nbsp;</td>
	    </tr>
	</table>
	</p>
	<p align="center">
		<?php
		button("Sla Filter op");
		button("Wis ingevuld filter");
		?>



		  </p>
		  </form>


		 <?php
				} else {
			//formulier is gepost, dus we gaan de waarden uitlezen om eea in de database te schrijven.

			//print_r($_REQUEST); #debug
			ontwar($_REQUEST, "\$_REQUEST");

			$layout=1; #default
			if (isset($_REQUEST['layout'])) {
				$layout=$_REQUEST['layout'];
			}

			// Kan dit niet efficienter?----------------
			If (!isset($_REQUEST['richting'])) {
					$richt= "ASC";
			} else {
					$richt = $_REQUEST['richting'];
			}

			$richting = "ASC"; #default
			if ($richt == "ASC") {
				$richting = "DESC";
			}
			// ----------------------------------------------
			$sorteervolgorde = "Id"; #default
			if (isset($_REQUEST['sort'])) {
				if ($_REQUEST['sort']=="Jaar") {
					$sorteervolgorde = "GereedJaar";
				} elseif ($_REQUEST['sort']=="Mnd") {
					$sorteervolgorde = "GereedMaand";
				} else {
				$sorteervolgorde = $_REQUEST['sort'];
				}
			}

			if (!isset($_REQUEST['sort'])) {
				// hier zoeken na eerste ingave
				$activiteit = $_REQUEST['activiteit'];
				$actsoort = $_REQUEST['actsoort'];
				$omschrijving = $_REQUEST['omschrijving'];
				$omschrsoort = $_REQUEST['omschrsoort'];
				$resultaatgebied = $_REQUEST['resultaatgebied'];
				$programma = $_REQUEST['programma'];
				$jaar = $_REQUEST['jaar'];
				$gew_resultaat = $_REQUEST['gew_resultaat'];
				$ressoort = $_REQUEST['ressoort'];
				$middelen = $_REQUEST['middelen'];
				$voortgang = $_REQUEST['voortgang'];
				$rel_voortgang = $_REQUEST['rel_voortgang'];
				$rel_voortgang_not = $_REQUEST['rel_voortgang_not'];
				$rel_voortgang_lt = $_REQUEST['rel_voortgang_lt'];
				$rel_voortgang_gt = $_REQUEST['rel_voortgang_gt'];
				$status = $_REQUEST['status'];
				$layout = $_REQUEST['layout'];
				$gereed = $_REQUEST['gereed'];
				$indiener=$_REQUEST['indiener'];
				$eigenaar=$_REQUEST['eigenaar'];
				$betrokkenen = $_REQUEST['betrokkenen'];
				$vestigingen = vestigingenlijst();
				foreach ($vestigingen as $vest) {
					if (isset($_REQUEST[$vest])) {
						$zoekvest[] = $vest;
					}
				}
				//$zoekvest bevat nu alle vestigingen waarop gefilterd moet worden.

				$afdeling = $_REQUEST['afdeling'];
			}

				// Opbouwen filter argumenten voor display filter
				$filter_argumenten = array();


				// Zoeken op vestiging

				$selectvestiging = "";
				$t=1;
				if (!empty($zoekvest)) {
					foreach ($zoekvest as $vest) {
						if ($t>1) {
							$selectvestiging .= " OR Vestiging =\"".$vest."\"";
							$arg = "vestiging ($t)";
							$filter_argumenten[$arg] = $vest;
						} else {
							$selectvestiging = " AND (Vestiging =\"".$vest."\"";
							$arg = "vestiging ($t)";
							$filter_argumenten[$arg] = $vest;
						}
						$t++;
					}
				}

				if ($t>1) {
					$selectvestiging .= ") ";
				}


				if($programma>0){
					$selectprogramma = " AND IdProgrammaId =" . $programma;
					$filter_argumenten[programma]=$programma;
				} else {
					$selectprogramma = "";
				}

				if($resultaatgebied>0){
					$selectresgeb = " AND IdResultaatgebied =" . $resultaatgebied;
					$filter_argumenten[resultaat]=$resultaatgebied;
				}else {
					$selectresgeb = "";
				}

				if(!empty($afdeling)){
					$selectafdeling = " AND IdAfdeling =" . $afdeling;
					$filter_argumenten[afdeling]=$afdeling;
				}else{
					$selectindiener = "";
				}



				if(!empty($activiteit)){
					$field = "Activiteit";
					$selectact = zoekuitgebreid($activiteit, $actsoort, $field);
					$filter_argumenten[activiteit]=$activiteit;
				}else{
					$selectact = "";
				}

				if(!empty($omschrijving)){
					$field = "Omschrijving";
					$selectoms = zoekuitgebreid($omschrijving, $omschrsoort, $field);
					$filter_argumenten[omschrijving]=$omschrijving;
				}else{
					$selectoms = "";
				}

				if(!empty($status)){
					$selectstatus = " AND Status like '%" . $status . "%'";
					$filter_argumenten[status]=$status;
				}else{
					$selectstatus = "";
				}

				if(!empty($voortgang)){
				$selectvoortgang = " AND Voortgang like '%" . $voortgang . "%'";
				$filter_argumenten[voortgang]=$voortgang;
				}else
				{$selectvoortgang = "";}

				// relatieve voortgang (iets ingewikkelder dan de rest)
				if(!empty($rel_voortgang)){
				$selectrelvoortgang = " AND RelatieveVoortgang =" . $rel_voortgang;
				$filter_argumenten[RelatieveVoortgang]=$rel_voortgang;
				}else
				{$selectrelvoortgang = "";}

				if(!empty($rel_voortgang_not)){
				$selectrelvoortgang_not = " AND RelatieveVoortgang <>" . $rel_voortgang_not;
				$filter_argumenten[RelatieveVoortgang_not]=$rel_voortgang_not;
				}else
				{$selectrelvoortgang_not = "";}

				if(!empty($rel_voortgang_lt)){
				$selectrelvoortgang_lt = " AND RelatieveVoortgang < " . $rel_voortgang_lt;
				$filter_argumenten[RelatieveVoortgang_lt]=$rel_voortgang_lt;
				}else
				{$selectrelvoortgang_lt = "";}

				if(!empty($rel_voortgang_gt)){
				$selectrelvoortgang_gt = " AND RelatieveVoortgang >" . $rel_voortgang_gt;
				$filter_argumenten[RelatieveVoortgang_gt]=$rel_voortgang_gt;
				}else
				{$selectrelvoortgang_gt = "";}

				// --------------------------------

				if(!empty($gew_resultaat)){
				$field = "GewenstResultaat";
				$selectgr = zoekuitgebreid($gew_resultaat ,$ressoort, $field);
				$filter_argumenten[gewenst_resultaat]=$gew_resultaat;
				}else
				{$selectgr = "";}

				if(!empty($eigenaar)){
				$selecteigenaar = " AND Eigenaar like '%" . $eigenaar . "%'";
				$filter_argumenten[eigenaar]=$eigenaar;
				}else
				{$selecteigenaar = "";}

				if(!empty($indiener)){
				$selectindiener = " AND Indiener like '%" . $indiener . "%'";
				$filter_argumenten[indiener]=$indiener;
				}else
				{$indiener = "";}

				if(!empty($betrokkenen)){
				$selectbetrokkenen = " AND Betrokkenen like '%" . $betrokkenen . "%'";
				$filter_argumenten[betrokkenen]=$betrokkenen;
				}else
				{$selectbetrokkenen = "";}


				if($jaar > 0){
				$selectjaar = " AND GereedJaar like '%" .  $jaar . "%'";
				$filter_argumenten[gereedjaar]=$jaar;
				}else
				{$selectjaar = "";}

				// Afprinten filterdefinitie

				print "<h3 align=\"center\">De volgende filter is gedefinieerd:</h3>";
				print "<table class=\"sjabloonzoeker\">";

				$filterstring = "" ;
				foreach ($filter_argumenten as $key=>$value) {
					$filterstring .= "$key = $value ;";
					print "<tr><td class=\"prompt\">$key</td><td>$value</td></tr>";
				}

				print "</table>";

				$SQL = "SELECT * FROM `activiteit` WHERE 1=1";

			// In deze query was ik de laatste AND voor de variabelen  vergeten!!
			$SQL = $SQL." ".$selectvestiging
										.$selectprogramma
										.$selectresgeb
										.$selectafdeling
										.$selectact
										.$selectoms
										.$selectstatus
										.$selectvoortgang
										.$selectrelvoortgang
										.$selectrelvoortgang_not
										.$selectrelvoortgang_lt
										.$selectrelvoortgang_gt
										.$selectgr
										.$selectbetrokkenen
										.$selecteigenaar
										.$selectindiener
										.$selectjaar
										." ORDER BY $sorteervolgorde $richting";

			// IDEE OM UIT TE WERKEN:

			// TODO: nog uitwerken in deze nieuwe filter pagina.

			// Deze uitzondering is nodig om ervoor te zorgen dat $_SESSION['request'] wordt
			// gevuld met de oorspronkelijke zoekopdracht en die inhoud blijft houden!
			if ($_SESSION['zoektocht'] != "doorgaan") { $_SESSION['request'] = $_REQUEST; }

			$viewnaam = $_SESSION['naam']."_activiteit";
			$SQL = "CREATE OR REPLACE VIEW $viewnaam AS ".$SQL;
			//print "De query is: <br />$SQL <br />"; #debug


			maak_filter($_SESSION['naam'], $SQL); # de vorige filter wordt meteen verwijderd!
			noteer_filter($_SESSION['naam'], $filterstring);

			// gefilterde tabel tonen.

			$toonlijst = "SELECT Id, Activiteit " ;
			foreach ($filter_argumenten as $key=>$value) {
				# het argument bij vestiging valt niet samen met de echte veldnaam!
				$patroon = "/^Vestiging \(/";
				if (preg_match($patroon,$key)) {
					$patroon = "/^Vestiging \(1/";
					if (preg_match($patroon,$key))  {
						$toonlijst =$toonlijst.", Vestiging ";
					}
				} else {
					$toonlijst =$toonlijst.", $key";
				}
				// De query breekt op relatieve voortgang!
				// Deze MOET aangepast worden.

				// Wat is hier de juiste logica??
				// HEEL SIMPEL: als er iets anders staat dan RelatieveVoortgang
				// moet dat veld niet meegenomen worden.
				$patroon1 = "#^RelatieveVoortgang#";
				$patroon2 = "#RelatieveVoortgang$#";
				if (preg_match($patroon1,$key)) {
					if (preg_match($patroon2,$key)) {
						$toonlijst=$toonlijst.", $key";
					}

				}




			}

			$SQL = $toonlijst . "FROM $viewnaam";

			// Opties zetten
			// NB: $sorteervolgorde, $richting en $layout moeten op dit punt al gezet zijn.
			$sorteer ="ja";
			$pagina = "zoeken.php";
			$details = "ja";
			$wijzig = "ja";
			$verwijder = "nee";
			$gebruik="ja";
			//print "<br />De Query is: <br />$SQL<br />"; #debug
			if (filter_aan($_SESSION['naam'])) {
				$staat_uit="";
				$staat_aan="checked";
			} else {
				$staat_aan="";
				$staat_uit="checked";
			}

			echo "<form action=\"filter_switch.php\" method=\"post\">";
			echo "<table align=\"center\" width=\"75%\">";
			echo "<tr><td>Filter:</td><td><input type=\"radio\" name=\"filter\" value=\"aan\" $staat_aan> Aan";
			echo "<input type=\"radio\" name=\"filter\" value=\"uit\" $staat_uit> Uit </td>";
			echo "<td><input type=\"submit\" name=\"switch\" value=\"Verwerk keuze\"></td>";
			echo "</tr></table>";



			// alles staat klaar, laat maar zien het resultaat:
			echo "<h3 align=\"center\">Controleer gefilterde activiteitenlijst:</h3>";
			echo "<table align=\"center\" width=\"75%\">";
			echo "<tr><td>Deze activiteitenlijst laat behalve de naam van de activiteit alleen die informatie zien
						 die gebruikt is bij het definieren van het filter. Als het filter aangezet wordt zal in de overzichten
						 uitgegaan worden van deze selectie. In die overzichten zullen ook de andere details weer te vinden zijn.</td></tr>";
			echo "</table>";

			toontable($SQL,$sorteer,$richting,$layout,$pagina,$details,$wijzig,$verwijder,$gebruik);
			echo "<div align=\"center\">";
			legeregels(2);
			toonlink("javascript:history.go(-1)","Terug");
			toonlink("javascript:print()","Afdrukken");
			echo "</div>";
			}
		print "</td></tr>";
		voet1();
} else {
		voet2();
}
?>
